home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
326-350
/
disk_344
/
keyboard
/
keyboard.def
< prev
next >
Wrap
Text File
|
1992-05-06
|
4KB
|
104 lines
DEFINITION MODULE Keyboard;
(*******************************************************************************
Name : Keyboard.DEF
Version : 1.0
Purpose : Enables access to RAWKEY events via Intuition.
Author : PGE
Date Started : 12/MAR/90.
Date Complete: 18/MAR/90.
Modified : 25/MAR/90.added further comments
*******************************************************************************)
FROM ConsoleDevice IMPORT KeyMapPtr;
FROM Intuition IMPORT IntuiMessagePtr;
CONST
NullChar = 0C;
bs = 10C; (* back space *)
lf = 12C; (* line feed *)
vt = 13C; (* vertical tab *) (* RETURN key or ENTER key on
the Amiga *)
ff = 14C; (* form feed *)
cr = 15C; (* carriage return *)
esc = 33C; (* escape *)
space = 40C;
asterix = 52C;
comma = ",";
minus = 55C; (* - *)
dot = 56C; (* . *)
colon = 72C; (* : *)
underscore= "_";
vert = 174C; (* | *)
del = 177C; (* delete *)
CSI = 233C;
(* KeyID may be one of the following *)
KUP = 301; (* Arrow keys *)
KDOWN = 302;
KRIGHT = 303;
KLEFT = 304;
KSUP = 305; (* Shifted arrow keys *)
KSDOWN = 306;
KSRIGHT = 307;
KSLEFT = 308;
KHELP = 309; (* Help key *)
KF1 = 331; (* Function keys F1-F10 *)
KF2 = 332;
KF3 = 333;
KF4 = 334;
KF5 = 335;
KF6 = 336;
KF7 = 337;
KF8 = 338;
KF9 = 339;
KF10 = 340;
KSF1 = 341; (* Shifted function keys F1-F10 *)
KSF2 = 342;
KSF3 = 343;
KSF4 = 344;
KSF5 = 345;
KSF6 = 346;
KSF7 = 347;
KSF8 = 348;
KSF9 = 349;
KSF10 = 350;
PROCEDURE OpenKey() : INTEGER;
(* Before reading RAWKEYs from Intuition we have to do some housekeeping.
This procedure gets a pointer to the Console Device by opening a
Console Device without attaching it to any window. Its purpose is to
make the Console Device function RawKeyConvert available.
The procedure returns 0 if it succeeds, -1 if it failed. *)
PROCEDURE CloseKey;
(* After doing all our key reading we have to do some final housekeeping.
This procedure closes the Console Device opened by RawOpen.
If the Console Device was not successfully opened RawClose will
return without doing anything. *)
PROCEDURE ReadKey(VAR KeyMessage : IntuiMessagePtr; (* in *)
VAR KeyID : INTEGER; (* out *)
VAR KeyMap : KeyMapPtr (* in *) ) : INTEGER;
(* This routine will return the key that was pressed on the keyboard
taking into account so called deadkeys and the key map being used, such
as a German keyboard.
Pass it KeyMessage - obtained from a GetMsg
KeyID - not passed anything
KeyMap - when set to NULL the routine will do its
translation on the default key map. (The routine
has not been tested for non NULL values.)
When it has returned
KeyMessage - not used
KeyID - only used when the function procedure is 0.
See constant definitions for values.
KeyMap - not used
function procedure - 0 A special key was pressed, so look
at KeyID for its value
-1 routine has failed
-2 either a key up message or it was
not a raw key
1,2.. ASCII character *)
END Keyboard.